from django.utils.deprecation import MiddlewareMixin
import jwt
from shop import settings

# 自定义中间件


class CheckUserMiddleware(MiddlewareMixin):
    def process_request(self, request):
        # 注意，以后需要身份认证的请求，都将身份认证信息（jwt）添加到请求头里
        # 请求头解析方式 request.headers.get('token')
        # 提取token
        token = request.headers.get('token')
        # 判断token是否存在
        # 给request增加一个字段，保存用户信息
        if not token:
            request.user_info = None
        else:
            # token存在，解析token的内容
            payload = jwt.decode(jwt=token, key=settings.SECRET_KEY, algorithms='HS256')
            # 保存解析到的用户信息
            request.user_info = payload
            print(request.user_info)














